Systems and methods for postural control of a multi-function prosthesis

ABSTRACT

Systems and methods for postural control of a multi-function prosthesis are provided. Various embodiments provide for a postural controller that use EMG signals to drive a point in a posture space and outputs continuously varying joint angles for a powered prosthetic hand. The postural controller can include an EMG signal processing unit to receive signals from electrodes for processing (e.g., band pass filtering, rectification, root mean square averaging, dynamic tuning, etc.). The processed EMG signals can then be combined or converted to produce a point in the postural control domain. The PC domain map defines the posture that corresponds to each PC cursor coordinate. This map can have limitless possible postures and limitless possible positions of the postures. The Joint Angle Transform converts the PC cursor coordinate into the joint angle array which is sent to the prosthetic hand thereby creating more natural movements.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/891,551 filed Nov. 16, 2015; which is a national phase ofInternational Application No. PCT/US2014/040569 filed Jun. 2, 2014;which claims priority to U.S. Provisional Patent Application No.61/830,504 filed Jun. 3, 2013, each of which is incorporated herein byreference in its entirety for all purposes.

TECHNICAL FIELD

Various embodiments of the present invention generally relate to systemsand methods for postural control. More specifically, some embodiments ofthe present invention relate to myoelectric postural controllers formulti-function prostheses.

BACKGROUND

A prosthesis is an artificial device that is used to replace a missingbody part (e.g., a limb). For example, a transhumeral prosthesis is anartificial limb that replaces an arm missing above the elbow. Whileprosthetic devices have been in use for centuries, early prostheticdevices were quite basic. With the advent of new materials, processors,and electronics, prosthetic devices have become more interactive. Forexample, a myoelectric prosthesis uses electromyographic (EMG) signalsfrom voluntarily contracted muscles within a person's residual limb tocontrol the movements of the prosthesis. The electromyographic signalsmay be used for elbow flexion/extension, wrist supination/pronation(rotation), hand opening/closing of the fingers, or other functions.Unfortunately, these traditional designs allow for only a single postureor for the user to cycle through a small number of pre-defined postures.

SUMMARY

Systems and methods are described for postural control of amulti-function prosthesis. A multi-function prosthesis is a prostheticdevice with multiple actuators capable of generating multiple postures.In some embodiments, a prosthetic device can include a set ofelectrodes, an EMG signal processing module, a set of actuators, apostural controller, a feedback controller, actuators (e.g., two or moreactuators), sensors (e.g., pressure sensors, accelerometers, encoders,etc.) and/or other components. The set of electrodes can be used tomonitor muscle contractions and generate electromyographic (EMG)signals. The set of electrodes can include surface electrodes placed onthe outside of the user's skin. In some cases, the set of electrodes mayinclude electrodes implanted within the muscles of the user. The EMGprocessing module can receive the EMG signals and generate processed EMGsignals. The set of actuators can control joint angles of the prostheticdevice.

The postural controller can receive the processed EMG signals anddetermine a desired set of joint angles defining a desired posture bycontrolling a point in a postural control space. The postural controlspace can be defined through graphical user interface by ananaplastologist or pre-set defaults. In some embodiments, the posturalcontroller can include a conversion module and a joint angletransformer. The conversion module can be configured to receiveprocessed EMG signals. The conversion module can then map the processedEMG signals to a point in the postural control space, wherein the pointin the postural control space lies between two postures. For example, insome embodiments, the conversion module can use a vector summationalgorithm to map the processed EMG signals to a point in the posturalcontrol space. The joint angle transformer can be configured totransform the point in the postural control space into a set of desiredjoint angles by morphing the joint angles of the two postures.

The feedback controller can generate control signals to set the jointangles of the prosthetic device using the set of actuators. Theprosthetic device can also include one or more pressure sensors,accelerometers, and/or encoders that generate signals that can be usedby the feedback controller to generate control signals to set the jointangles of the prosthetic device.

Some embodiments provide for a processor-implemented method thatincludes monitoring, using an electrode array, signals indicative of adesired posture of a prosthetic device (e.g., prosthetic hand, aprosthetic arm, a prosthetic foot, or a prosthetic leg). The signals(e.g., EMG signals, peripheral neuron signals, computer generatedsignals, etc.) can be mapped, using a processor, to a point in a userspecific posture space. In some embodiments, the signals can be mappedusing vector summation. The posture of the prosthetic device can be setbased on the point in the user specific posture space. In someembodiments, the signals can be filtered and/or dynamically tuned (e.g.,using baseline reading from a user).

Embodiments of the present invention also include computer-readablestorage media containing sets of instructions to cause one or moreprocessors to perform the methods, variations of the methods, and otheroperations described herein.

Various embodiments include a postural controller. The posturalcontroller may include one or more processor(s) and a memory havingstored thereon a postural control space having a set of pre-selectedpostures each defining joint angles of a mechanical device. The posturalcontroller may also include a conversion module configured to receiveprocessed EMG signals (e.g., filtered, rectified, dynamically adjustedgains/thresholds/offsets, etc.) and map (e.g., using a vector summationalgorithm) the processed EMG signals to a point in the postural controlspace using the one or more processor(s). The point in the posturalcontrol space may lie between two of the pre-selected postures. In someembodiments, the postural control space includes attractive regions orgravity wells around the pre-selected postures. These attractive regionsallow a user of the mechanical device to get close to a posture and havethe point in the postural control space continue towards the posturewithout continued effort by the user.

The joint angle transformer can use the one or more processors totransform the point in the postural control space into a set of desiredjoint angles. In some embodiments, the joint angle transformer may morphthe joint angles into a linear combination of the two closest postureswhen the point lies between pre-selected postures in the posturalcontrol space. The postural controller may also include a feedbackcontroller to generate control signals to cause a set of actuators toset the joint angles of the mechanical device. The feedback controllermay use signals generated from various estimators or sensors (e.g.,encoders, accelerometers, pressure sensors, etc.) to generate thecontrol signals.

While multiple embodiments are disclosed, still other embodiments of thepresent invention will become apparent to those skilled in the art fromthe following detailed description, which shows and describesillustrative embodiments of the invention. As will be realized, theinvention is capable of modifications in various aspects, all withoutdeparting from the scope of the present invention. Accordingly, thedrawings and detailed description are to be regarded as illustrative innature and not restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will be described and explainedthrough the use of the accompanying drawings in which:

FIG. 1 illustrates an example of a prosthetic device in accordance withsome embodiments of the present invention;

FIG. 2 illustrates an example of a set of components of a posturalcontroller which may be used in accordance with one or more embodimentsof the present invention;

FIG. 3 is a flowchart illustrating an example of a set of operations forgenerating a custom transform in accordance with various embodiments ofthe present invention;

FIG. 4 illustrates an example of a postural domain in accordance withsome embodiments of the present invention;

FIG. 5 is a flowchart illustrating an example of a set of operations forcontrolling a prosthetic device in accordance with one or moreembodiments of the present invention;

FIG. 6 is a flowchart illustrating an example of a set of operations forgenerating control signals for controlling the prosthetic device inaccordance with various embodiments of the present invention;

FIG. 7 illustrates an example of gravity wells which may be used withsome embodiments of the present invention;

FIG. 8 is a flowchart illustrating an example of a set of operations forgenerating control signals for the prosthetic device using dynamicallytuned EMG signals in accordance with one or more embodiments of thepresent invention;

FIG. 9 is a sequence diagram illustrating a set of communicationsbetween various components of a prosthetic device in accordance withvarious embodiments of the present invention; and

FIG. 10 illustrates an example of a computer system with which someembodiments of the present invention may be utilized.

The drawings have not necessarily been drawn to scale. For example, thedimensions of some of the elements in the figures may be expanded orreduced to help improve the understanding of the embodiments of thepresent invention. Similarly, some components and/or operations may beseparated into different blocks or combined into a single block for thepurposes of discussion of some of the embodiments of the presentinvention. Moreover, while the invention is amenable to variousmodifications and alternative forms, specific embodiments have beenshown by way of example in the drawings and are described in detailbelow. The intention, however, is not to limit the invention to theparticular embodiments described. On the contrary, the invention isintended to cover all modifications, equivalents, and alternativesfalling within the scope of the invention as defined by the appendedclaims.

DETAILED DESCRIPTION

Various embodiments of the present invention generally relate to systemsand methods for postural control to command an array of joint angles fora prosthesis. More specifically, some embodiments of the presentinvention relate to myoelectric postural controllers for multi-functionprostheses. Myoelectric control systems used by various embodiments ofthe present invention provide more functional and intuitive prostheticlimbs than traditional prosthetic devices. These techniques allow for ahuman-machine interface that deciphers user intent in real-time andallows for more intuitive and precise control of prosthetic devices. Forexample, while many traditional systems use a state-machine to cyclethrough a limited number of pre-selected postures in a specific order,various embodiments of the present invention provide for an unlimited(or almost unlimited) number of possible postures. In some embodiments,a user is able to continuously morph between postures providing for morebiomimetic prosthetic devices.

The postural control techniques used by various embodiments of thepresent invention transform command or input signals (e.g., the EMGinput signals) into an array of joint angles (i.e., a posture) using atransformation (e.g., a linear transformation) based on a kinematiccoupling. The relative magnitude of each command signal modulates thecontribution of each corresponding postural vector. In many embodiments,these techniques include a dimensionality augmentation step caused bythe transform. For example, the transform may take a small number ofinput signals and produce a larger number of output signals. As aresult, depending on the transform, some postures may not be reachable.

Some embodiments include an effective myoelectric interface to command amulti-function prosthetic hand into various grasps and postures. Theseembodiments can use custom Postural Control Domain (PC domain) thatallows the subject to continuously morph advanced prosthetic hands intolimitless number of postures. Some advantages of the systems andtechniques disclosed herein include the following: 1) design ofintuitive custom control spaces; 2) allows for transformation betweenall postures within PC domain without restriction as opposed to statemachines which define a specific sequence which the hand posture cantransform; 3) robust to real world scenarios like donning/doffing,electrode shift, sweat, etc. unlike pattern recognition systems; 4) doesnot require training of a classifier like pattern recognition systems;and 5) provides a more intuitive interface as compared to statemachines.

Some embodiments include preferred regions (e.g., a gravity mapping)that create a ‘soft’ state machine like functionality that assists inthe formation of specific functional postures. Unlike traditional statemachines, the user can command the prosthetic hand into any number ofalternate postures as desired without the use of a trigger command(i.e.—co-contraction EMG signal, etc.). Gravity mapping and otherpreferred region techniques enhance the ability of subjects to reachfunctional postures using a feedback control system. Tuning of thefeedback control system can create unique virtual gravity wells specificto each subject.

Some embodiments use a Vector Summation Algorithm (VSA) that defines aspecific transformation between EMG signals and the PC domain. Variouscursor control schemes can also be used to augment the ability ofsubject to morph the hand into specific postures. The PC domain spacecan be designed with a limitless number of postures. Postures can beplaced in any position in the PC domain and as a result, the position ofthe postures can be placed in order to create an intuitive controller. Ajoint angle transform can be used in some embodiments to create acontinuously morphing joint angle array that negates the need for moreadvanced mathematical processes like classifiers in pattern recognitionsystems.

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of embodiments of the present invention. It will beapparent, however, to one skilled in the art that embodiments of thepresent invention may be practiced without some of these specificdetails. While, for convenience, embodiments of the present inventionare often described with reference to prosthetic hands, embodiments ofthe present invention are equally applicable to various other types ofprosthetic devices and other robotic applications. Similarly, while manyof the descriptions relate to myoelectric control based on measured EMGsignals, other types of command signals measured from the subject and/orgenerated from a computer interface may be used.

Moreover, the techniques introduced here can be embodied asspecial-purpose hardware (e.g., circuitry), as programmable circuitryappropriately programmed with software and/or firmware, or as acombination of special-purpose and programmable circuitry. Hence,embodiments may include a machine-readable medium having stored thereoninstructions that may be used to program a computer (or other electronicdevices) to perform a process. The machine-readable medium may include,but is not limited to, floppy diskettes, optical discs, compact discread-only memories (CD-ROMs), magneto-optical discs, ROMs, random accessmemories (RAMs), erasable programmable read-only memories (EPROMs),electrically erasable programmable read-only memories (EEPROMs),application-specific integrated circuits (ASICs), magnetic or opticalcards, flash memory, or other type of media/machine-readable mediumsuitable for storing electronic instructions.

Terminology

Brief definitions of terms, abbreviations, and phrases used throughoutthis application are given below.

The terms “connected” or “coupled” and related terms are used in anoperational sense and are not necessarily limited to a direct physicalconnection or coupling. Thus, for example, two devices may be coupleddirectly, or via one or more intermediary media or devices. As anotherexample, devices may be coupled in such a way that information can bepassed therebetween, while not sharing any physical connection with oneanother. Based on the disclosure provided herein, one of ordinary skillin the art will appreciate a variety of ways in which connection orcoupling exists in accordance with the aforementioned definition.

The phrases “in some embodiments,” “according to some embodiments,” “inthe embodiments shown,” “in other embodiments,” and the like generallymean the particular feature, structure, or characteristic following thephrase is included in at least one implementation of the presentinvention, and may be included in more than one implementation. Inaddition, such phrases do not necessarily refer to the same embodimentsor different embodiments.

If the specification states a component or feature “may”, “can”,“could”, or “might” be included or have a characteristic, thatparticular component or feature is not required to be included or havethe characteristic.

The term “module” or “engine” refers broadly to general orspecific-purpose hardware, software, or firmware (or any combinationthereof) components. Modules and engines are typically functionalcomponents that can generate useful data or other output using specifiedinput(s). A module or engine may or may not be self-contained. Dependingupon implementation-specific or other considerations, the modules orengines may be centralized or functionally distributed. An applicationprogram (also called an “application”) may include one or more modulesand/or engines, or a module and/or engine can include one or moreapplication programs.

General Description

FIG. 1 illustrates an example of a prosthetic device 100 in accordancewith some embodiments of the present invention. As illustrated in FIG.1, prosthetic hand 110 is controlled by postural controller 120.Postural controller 120 can receive control signals from a commandinterface (e.g., a myoelectric interface, a neural interface, a computersystem, etc.) to command prosthetic hand 110 into various grasps andpostures. In some embodiments, postural controller 120 can use a subjectspecific Postural Control Domain (PC domain) that allows a user tocontinuously morph prosthetic hand 110 into limitless number ofpostures. The PC domain includes a pre-specified number (e.g., 4, 8, 11,or more) of hand postures activated by the control signals. The PCdomain is built upon an underlying set of vectors spanning the availablecontrol signals (e.g., from the EMG signals generated from a usersmuscles). Prosthetic device 100 may include multiple PC domains havingdifferent postures customized or optimized for specific activities(e.g., sports activities, daily living activities, work activities,etc.) The user of prosthetic device 100 may be able to easily transferfrom one PC domain to another (e.g., using an interface on prostheticdevice 100).

A user of prosthetic device 100 has skeletal muscles that are composedof muscle fibers that can be volitionally controlled. A neural commandcauses the actin and myosin filaments within the myofibrils to ratchetalong the length of the sarcomere and produce a muscle contraction. Theflow of ions across the muscle cell membrane during the contractioncreates electric potentials that can be measured using electrodes. Thisnaturally occurring voltage produces a quasi-Gaussian distributed randomnoise electric field called the electromyogram. The EMG signal can bemeasured from the surface of the skin using surface electrodes and/orwithin the muscle fiber using intramuscular electrodes. The EMG signalis a composite, or superposition, of all of the electric potentialscreated within the electrode detection volume. The measured signal isgenerally monotonic and is somewhat proportional to the amount of muscleactivity in the detection volume.

A myoelectric interface, as used in some embodiments, uses the musclesas sources of control of signals for generating the commands. The musclecontractions are measured using electrodes. The site on the body where amyoelectric electrode is placed to measure an EMG signal is referred toas a control site. The EMG signal can then be processed and used as acontrol signal to set postures of the prosthesis.

FIG. 2 illustrates an example of a set of components of a posturalcontroller 120 which may be used in accordance with one or moreembodiments of the present invention. According to the embodiments shownin FIG. 2, postural controller 120 can include memory 210, one or moreprocessors 220, battery 230, sensors 240, EMG processing module 250,conversion module 260, joint angle transform module 270, and feedbackcontroller 280. Other embodiments of the present invention may includesome, all, or none of these modules and components along with othermodules, applications, and/or components. Still yet, some embodimentsmay incorporate two or more of these modules and components into asingle module and/or associate a portion of the functionality of one ormore of these modules with a different module. For example, in oneembodiment, sensors 240 and EMG processing module 250 can be combinedinto a single module.

Memory 210 can be any device, mechanism, or populated data structureused for storing information. In accordance with some embodiments of thepresent invention, memory 210 can encompass any type of, but is notlimited to, volatile memory, nonvolatile memory and dynamic memory. Forexample, memory 210 can be random access memory, memory storage devices,optical memory devices, media magnetic media, floppy disks, magnetictapes, hard drives, SDRAM, RDRAM, DDR RAM, erasable programmableread-only memories (EPROMs), electrically erasable programmableread-only memories (EEPROMs), compact disks, DVDs, and/or the like. Inaccordance with some embodiments, memory 210 may include one or moredisk drives, flash drives, one or more databases, one or more tables,one or more files, local cache memories, processor cache memories,relational databases, flat databases, and/or the like. In addition,those of ordinary skill in the art will appreciate many additionaldevices and techniques for storing information which can be used asmemory 210.

Memory 210 may be used to store instructions for running one or moreapplications or modules on application processor(s) 220. For example,memory 210 could be used in one or more embodiments to house all or someof the instructions needed to execute the functionality of sensors 240,EMG processing module 250, conversion module 260, joint angle transformmodule 270, and/or feedback controller 280.

Processor(s) 220 are the main processors for controlling the prostheticdevice. Processor(s) 220 can be communicably coupled with memory 210 andconfigured to run various user interfaces, manage communications betweenthe controller and other components (e.g., external interfaces), andused for data gathering, data processing, and other applications storedon memory 210. Processor(s) 220 along with the other components (e.g.,actuators) may be powered by battery 230 or other power source.

Sensors 240 can include an array of electrodes for measuring musclecontractions from a subject. The electrode array can include surfaceelectrodes and/or intramuscular electrodes arranged about musclesdesigned to control the prosthetic device. For example, the electrodearray could be placed around the circumference of a forearm in the caseof a prosthetic hand. While this may be a natural choice in manysituations, the electrode array may be placed in other locations. Theseelectrodes can detect the electrical potential generated by an activatedmuscle. The signals can be analyzed to detect an activation level of themuscles since a stronger muscle contraction will result in a greaterelectrical potential. Sensors 240 may also include other types ofsensors for measuring other physical quantities (e.g., force orpressure) or biological signals. For example, sensors 240 can includevision-based sensors, pressure sensors, and the like.

In some embodiments, four or more EMG signals may be acquired usingelectrode pairs (e.g., ProControl2 electrode pairs from Motion Control,Inc.) and self-adhesive Ag/AgCl snap electrode stickers (Noraxon USA,Inc.). The placement of the electrode will depend on the amputation, theremaining muscles, and/or any damage or limitations to the remainingmuscles. In one test case, electrodes were placed on flexor digitorumsuperficialis, extensor digitorum, extensor carpi ulnaris, and flexorcarpi ulnaris.

Unfortunately, the EMG signals are typically quite noisy. As such, EMGprocessing module 250 can be used to generate processed EMG signals. Forexample, the processed EMG signals may be the output after the signalhas been sampled, band pass filtered, rectified, root mean squareaveraged, subject specific tuned, etc. For example, the measured raw EMGsignals from the control sites may be amplified by the electrode andsent to a data acquisition device (e.g., NI USB-6008 NationalInstruments, Inc.). The raw analog EMG signal can be sampled atsufficient rates to capture the signal (e.g., at 1 kHz). The raw analogsignal may be processed using band pass filters (e.g., 30-450 Hz), notchfilters (e.g., at 60 Hz), rectification, smoothed (e.g., with a 200 msmoving average filter), and/or normalized individually to the signalinput range of the data acquisition device. In some embodiments, atuning process can be performed for each subject before the myoelectricsessions took place. The tuning process can include adjusting the gainand activation threshold for all EMG signals in order to produce themost comfortable control system for each subject. The gains can beadjusted to ensure that every task was achievable without overdue effortincluding co-contraction tasks (i.e. when postures lay far from the EMGsignal axes in the PC domain). The activation thresholds were adjustedto negate quiescent EMG signals.

Conversion module 260 can convert the processed EMG signals to apostural control cursor coordinate (PCx, PCy) in the PC domain (see,e.g., FIG. 4). A variety of techniques may be used by conversion module260. For example, in some embodiments a vector summation algorithm maybe used. In other cases, a principal component of the EMG signals may beextracted and mapped to the PC domain. In accordance with someembodiments, conversion module 260 may use position cursor controltechniques, velocity cursor control techniques, and/orforce/acceleration cursor control techniques.

In accordance with various embodiments, the dimensionality of the PCdomain can vary. The PC domain does not need to be a two dimensionalplane. Some embodiments may use higher or lower dimensional space. Forexample, some embodiments may use a single dimension PC domain (i.e. aline). Other embodiments may use a three dimensional PC domain (i.e. avolume). In all cases, the subject would control a cursor (e.g., througha myoelectric interface or sensors) within the PC domain to control theposture of a hand or other mechanical device.

The vector summation algorithm (VSA) used by some embodiments ofconversion module 260 is designed to interpret the ‘snap-shot’ of EMGactivity (or other command signal) using a vector summation map. Thevector summation map may be uniformly spaced in some embodiments. As anexample, electrodes on the dorsal/ventral side of a limb (wristextension/flexion) may correspond to the y-axis of the PC domain andelectrodes on the medial/lateral side of the limb (ulnar/radialdeviation) correspond to the x-axis of the PC domain (for a right-sidedlimb). The RMS EMG value determines the magnitude of each correspondingvector. The summation of all vectors produces a time varying resultantvector,

.

Equation (1) below describes the calculation of

where RMS_(i) is the RMS value of the EMG_(i) signal, θ_(i) is thecontrol site angle in the PC domain with respect to the x-axis, and. Nis the number of control sites. The direction of the resultant vectorindicates the area in the forearm with the most EMG activity and themagnitude indicates the relative amount of EMG activity. In short, theVSA reduces the RMS EMG array into a single resultant vector (

) that subsequently drives the time varying PC cursor coordinate(PC_(x), PC_(y))

$\begin{matrix}{{\overset{\rightharpoonup}{R}(t)} = {\begin{bmatrix}{R_{x}(t)} \\{R_{y}(t)}\end{bmatrix} = {\sum\limits_{i = 1}^{N}\;\begin{bmatrix}{{{RMS}_{i}(t)}\cos\;\theta_{i}} \\{{{RMS}_{i}(t)}\sin\;\theta_{i}}\end{bmatrix}}}} & (1)\end{matrix}$

The resultant vector produced by the VSA (

) controls the PC cursor coordinate (PC_(x), PC_(y)) using a position orvelocity cursor control scheme. The position control scheme interpretsthe resultant as a positional command vector (i.e.—units of distance).In the position cursor control scheme the end point of the resultantvector equals the time varying PC cursor coordinate described inequation (2).

$\begin{matrix}{\begin{bmatrix}{{PC}_{x}(t)} \\{{PC}_{y}(t)}\end{bmatrix} = {\begin{bmatrix}{R_{x}(t)} \\{R_{y}(t)}\end{bmatrix} = {\overset{\rightharpoonup}{R}(t)}}} & (2)\end{matrix}$

The velocity cursor control scheme interprets the resultant as avelocity command vector (i.e.—units of distance/time). A discreteintegration over time determines the cursor position as described inequation (3) where (

) is the instantaneous resultant vector, Δt_(j) is the loop time,V_(gain) is the velocity gain, and j is software loop count. Thevelocity gain adjusts the maximum allowable speed (i.e.—a speed limit).In practice, the magnitude of the resultant corresponds to the speed ofthe cursor and the direction of the resultant corresponds to thedirection the cursor moves.

$\begin{matrix}{\begin{bmatrix}{{PC}_{x}(t)} \\{{PC}_{y}(t)}\end{bmatrix} = {V_{gain}*{\sum\limits_{j = 1}^{J}\;\left( {{{\overset{\rightharpoonup}{R}}_{j}(t)}*\Delta\; t_{j}} \right)}}} & (3)\end{matrix}$

Joint angle transform module 270 can use a joint angle transform toconvert the PC cursor coordinate into the time varying joint angle arraywhich is sent to the prosthetic hand thereby creating more naturalmovements. The joint angle transform can create a continuously morphingjoint angle array that negates the need for more advanced mathematicalprocesses like classifiers in pattern recognition systems. The jointangle array could command joints outside of the prosthetic hand. Forexample, the joint angle array could control the wrist angles(i.e.—supination/pronation, ulnar/radial deviation, andflexion/extension). In addition, various embodiments can control otherlimbs/joints (e.g., the elbow/shoulder and/or ankle/knee).

In some embodiments, joint angle transform module 270 can convert the PCcursor coordinate into a posture based on the postural map at a rate of10 Hz. The postural map defines the number and location of the graspsavailable to the user in the PC domain. Points (targets) in the PCdomain correspond to grasps. When the PC cursor coordinate equals thetarget, then the controller reproduces the grasp identically. As the PCcursor coordinate moves between two targets, the controller produces alinear combination of those two postures. A representative postural mapis shown in FIG. 4.

The joint angle transform (JAT) may be a linear transform that convertsthe PC cursor coordinate into a joint angle array. The generalizedequation defines the JAT (4) where (PC_(x), PC_(y)) is the PC cursorcoordinate, JAT_(ij) are the joint angles for the two closest posturesto the PC cursor coordinate as determined by the postural map (j=1-6 fora 6 degree of freedom hand, j=1-2), and θ is the joint angle array. Theposture mapping logic function (L, equation (5)) dynamically derives theappropriate JAT based on the PC domain map and produces a modified PCcursor coordinate (PC_(x)′, PC_(y)′) based in radial coordinates. Theargument to L is the PC cursor coordinate (PC_(x), PC_(y)) and a matrixwhich includes the coordinates of the targets as defined by the posturalmap (Postures). In real-time, L determines the closest two posturesradially to the current PC cursor coordinate and thereby produces theJAT. In addition, L produces a modified PC cursor coordinate todistinguish the relative proximity of the cursor coordinate to the twoclosest postures. The modified PC cursor coordinate ensures that thecontroller morphs the hand posture as the cursor moves between twotargets in the PC domain.

$\begin{matrix}{\theta = {\begin{bmatrix}\theta_{1} \\\theta_{2} \\\theta_{3} \\\theta_{4} \\\theta_{5} \\\theta_{6}\end{bmatrix} = {{{JAT}*\begin{bmatrix}{{PC}_{x}(t)} \\{{PC}_{y}(t)}\end{bmatrix}} = {\quad{\begin{bmatrix}{{JAT}_{1,1}\left( {{PC}_{x},{PC}_{y}} \right)} & {{JAT}_{1,2}\left( {{PC}_{x},{PC}_{y}} \right)} \\{{JAT}_{2,1}\left( {{PC}_{x},{PC}_{y}} \right)} & {{JAT}_{2,2}\left( {{PX}_{x},{PC}_{y}} \right)} \\{{JAT}_{3,1}\left( {{PC}_{x},{PC}_{y}} \right)} & {{JAT}_{3,2}\left( {{PC}_{x},{PC}_{y}} \right)} \\{{JAT}_{4,1}\left( {{PC}_{x},{PC}_{y}} \right)} & {{JAT}_{4,2}\left( {{PC}_{x},{PC}_{y}} \right)} \\{{JAT}_{5,1}\left( {{PC}_{x},{PC}_{y}} \right)} & {{JAT}_{5,2}\left( {{PC}_{x},{PC}_{y}} \right)} \\{{JAT}_{6,1}\left( {{PC}_{x},{PC}_{y}} \right)} & {{JAT}_{6,2}\left( {{PC}_{x},{PC}_{y}} \right)}\end{bmatrix}{\quad\begin{bmatrix}{{PC}_{x}^{\prime}(t)} \\{{PC}_{y}^{\prime}(t)}\end{bmatrix}}}}}}} & (4) \\{\left\lbrack {{PC}_{x}^{\prime},{PC}_{j}^{\prime},{JAT}} \right\rbrack = {L\left( {{PC}_{x},{PC}_{y},{Postures}} \right)}} & (5)\end{matrix}$

This novel algorithm for a postural controller includes manycustomizable features (number of electrodes, cursor control schemes,potential field designs, postural map designs, etc.).

Feedback controller 280 can receive measurements (or estimates) of thecurrent position, velocity, and/or accelerations of the prosthetic hand.Using this information, control signals can be generated (e.g., using aPI, PID, fuzzy logic, nonlinear, continuous, discrete, or adaptivecontroller) to control the actuators resulting in the movement of thehand between positions. Postural controller 120 can be used in differentcontrol modalities (other than position) depending on the hardware it iscontrolling. If the proper hardware sensors are available, the posturalcontroller can be used in a position, velocity, force, or impedancecontrol modality. The inputs from these sensors can be used in designingfeedback controller 280.

FIG. 3 is a flowchart illustrating an example of a set of operations 300for generating a subject specific transform in accordance with variousembodiments of the present invention. The operations illustrated in FIG.3 may be performed by a processor, computer (e.g., as illustrated inFIG. 10), or other device. As illustrated in FIG. 3, defining operation310 can define a set postures (see, e.g., 410 in FIG. 4) represented byjoint angles of a prosthetic device. The postures may be selected (e.g.,using a graphical user interface) and possibly even customized to anindividual user. The postures correspond to the information needed toset the posture of the prosthetic device (e.g., a set of joint angles).

Once the postures have been defined or selected, the posture space canbe created in representation operation 320 by defining the relativeorientation of the set of postures within the PC domain. The arrangementor relative orientation of the postures within the postural controlspace (see, e.g., FIG. 4) may be set by a user who desires certainmorphed, intermediate, or blended postures to perform desiredactivities. In other cases, a user may simply specify the desiredpostures and then the system may determine the placement of the postureswithin the posture space. The arrangement of the posture space may beselected so as to balance the ability of the user with the complexity ofthe arrangement. A postural space with fewer number of postures that arespaced further apart in the posture space is an easier interface for theuser and vice versa. Typically, the most commonly used postures liketripod, key grip, and power grip are arranged in the posture space sothat they are most easily reproduced for the user. Also, it isrecommended that the postures are arranged in the posture space in anintuitive manner with respect to the EMG axes so that the originalneural command is reproduced as accurately as possible. For example, theEMG signal from flexor digitorum should be mapped towards tripod gripsince activity in flexor digitorum indicates the flexion of the digitsin a physiologically intact hand.

Generation operation 330 generates a transform mapping a coordinate inthe posture space to a joint angle vector. In accordance with someembodiments, a transform mapping may include a single line of linearalgebra as defined by equation 4. The joint angle transform may be a twocolumn matrix where the two columns are made up of the joint angles ofthe two nearest postures in the posture space. At any moment in time,the columns of the JAT include two columns of Table 1 depending on thetwo nearest target postures. A novel aspect of this postural controlscheme is that the JAT is spatially dependent (i.e.—the columns of theJAT change depending on the PC cursor coordinate). For example, when thepoint in the posture space is between lateral prehension (LP) and tipprehension (TP) then the JAT equals the following matrix.

${JAT} = \begin{bmatrix}20 & 90 \\90 & 65 \\70 & 70 \\80 & 0 \\80 & 0 \\80 & 0\end{bmatrix}$

TABLE 1 LP TP PP HK PT CP HF Thumb Rotation (°) 20 90 90 0 0 90 0 ThumbFlexion (°) 90 65 65 90 90 65 0 Index Flexion (°) 70 70 70 70 0 45 0Middle Flexion (°) 80 0 80 80 80 55 0 Ring Flexion (°) 80 0 80 80 80 650 Index Flexion (°) 80 0 80 80 80 65 0

FIG. 4 illustrates an example of a postural domain (i.e., the PC domain)in accordance with some embodiments of the present invention. By placingtwo postures next to one another, when a cursor falls between the twopostures, a blended or morphed posture can be created which is acombination of the two postures. In addition, the placement of thepostures within the posture space can be customized to maximize theintuitiveness of the posture space for each specific subject. While sixpostures are illustrated in FIG. 4, other embodiments may allow more orless postures within the postural domain.

The lines illustrated in FIG. 4 indicate the direction of action foreach of the control signals. In this example, twelve input signals aremapped in a radial fashion about the origin. Experimental results haveshown that three input signals arranged in a radial fashion were equallyas effective as four and twelve input signal. In a clinical setting, itmay be beneficial to reduce the number of input signals (i.e. number ofelectrodes) and therefore three electrodes mapped in a radial fashion isrecommended in some cases. Less input signals (i.e.—when the linesbecome further apart) requires the user to manipulate multiple controlsignals (i.e.—a co-contraction when using EMG input signals) in order toreach the space between the lines. Once the PC domain has been defined,a transform can be created which maps coordinates in the posture spaceto a joint angle vector (or array).

FIG. 5 is a flowchart illustrating an example of a set of operations 500for controlling a prosthetic device in accordance with one or moreembodiments of the present invention. The operations illustrated in FIG.5 may be performed by various components and devices, such as, but notlimited to, prosthetic device 110, processor 220, sensors 240,conversion module 260, feedback controller 280, and/or other devices orcomponents. Monitoring operation 510 monitors signals from musclecontractions. As discussed above, the signals may be processed (e.g.,using band pass filters, statistical processing, sampling, etc.).

Mapping operation 520 maps the signals to a point in the posture space(e.g., by the vector summation algorithm). Mapping operation 520, forexample, may use conversion module 260 to convert the processed EMGsignals to a postural control cursor coordinate (e.g., (PCx, PCy)) inthe PC domain. The coordinate in the PC domain corresponds to theposture, or blended posture, desired by the individual. Settingoperation 530 sets the posture of the prosthetic device to thecorresponding posture as selected by the point in the posture space asthe process repeats. Setting operation may use a joint angle transformto map the point in the posture space to the physical settings (e.g.,joint angles) needed to set the posture. Then, a controller can be usedto set the posture of the prosthetic device.

FIG. 6 is a flowchart illustrating an example of a set of operations 600for generating control signals for controlling the prosthetic device inaccordance with various embodiments of the present invention. Theoperations illustrated in FIG. 6 may be performed by various componentsand devices, such as, but not limited to, prosthetic device 110,postural controller 120, processor 220, sensors 240, EMG processingmodule 250, conversion module 260, joint angle transform module 270,feedback controller 280, and/or other devices or components. Duringreceiving operation 610 a set of EMG signals are received identifyingmuscular contractions of a user of a prosthetic device. The EMG signalsrepresent the contractions of the musculature of the individual andaccordingly, their intent to set the posture of the prosthetic device.

Filtering operation 620 filters the signals which are then mapped to apoint in the posture space using mapping operation 630. This point canthen be used to determine a joint angle vector (e.g., by applying ajoint angle transform to the point) for the prosthetic device duringdetermination operation 640. The joint angle vector specifies thepositions of the joints of the prosthetic device. Once the joint anglevector has been determined, control operation 650 generates the controlsignals to move the prosthetic device into the desired posture definedby the joint angle vector. Measurement operation 660 measures thecurrent posture state using encoders and/or other sensors. Thisinformation is fed back to the controller and used during controloperation 650 to generate the control signals to move the prostheticdevice into the desired posture defined by the joint angle vector.

FIG. 7 illustrates an example 700 of soft attractors or gravity wells710 which may be used with some embodiments of the present invention.Gravity wells 710 provide preferred regions (e.g., a gravity mapping)that create a ‘soft’ state machine like functionality that assists inthe formation of specific functional postures. As the EMG signals aremapped to a point in the posture space, if the point falls within thegravity well, the prosthetic device will tend toward (or be attractedto) the posture associated with the gravity well. Unlike traditionalstate machines, however, the user can command the prosthetic hand intoany number of alternate postures as desired. Gravity mapping enhancesability of the subjects to reach functional postures using a feedbackcontrol system. Tuning of feedback control system can create uniquevirtual gravity wells specific to each subject.

In some embodiments, for example, the gravity wells preferentiallyattract the cursor coordinate to certain regions in the PC domain usinga position feedback loop (e.g., with a proportional-derivativecontroller). Similarly, the gravity wells could be gravity hills whichrepel the cursor coordinate from certain regions in the PC domain usinga position feedback loop. The purpose of the potential field (thatincludes gravity wells/hills) is to augment the ability of the user toperform functional grasps using the postural controller. The potentialfield consists of potential augmentations surrounding the targetpositions and potential wedges emanating from the origin to the targets.The feedback controller forces the cursor toward the areas of lowestpotential (i.e.—the bottom of the wells and wedges) and away from areaswith highest potential. All parameters of the potential field (diameterof the wells/hills, width of the wedges, and depth of wells/hills andwedges) can be adjusted in order to best aid the user in performingfunctional grasps. In effect, the potential field adds a third dimensionto the PC domain. The design of the potential fields can use variousgeometries such as only wells, only wedges, both wells/wedges, or other.The sequential processing of the resultant vector by the cursor controlscheme and then the potential field produces a PC cursor coordinate(PC_(x), PC_(y)) which the JAT converts into a hand posture.

FIG. 8 is a flowchart illustrating an example of a set of operations 800for generating control signals for the prosthetic device usingdynamically tuned EMG signals in accordance with one or more embodimentsof the present invention. The operations illustrated in FIG. 8 may beperformed by various components and devices, such as, but not limitedto, prosthetic device 110, postural controller 120, processor 220,sensors 240, EMG processing module 250, conversion module 260, jointangle transform module 270, feedback controller 280, and/or otherdevices or components. The dynamic tuning techniques illustrated in FIG.8 may be applied in order to compensate for co-activity within themusculature especially for persons with limb loss. One advantage ofthese dynamically tuned EMG signal techniques is that the prostheticdevice produces more stable grasps and the controller is more robust tolimb position affects since involuntary EMG activity is ignored.

As illustrated in FIG. 8, measurement operation 810 measure the baselineEMG signals from muscular contractions performed in differentorientations of the prosthetic device. These measurements may be doneonce, periodically, or with every movement of the prosthetic device. Asa result, in some embodiments, the baseline may change over timedepending on when subsequent measurements are recorded. During receivingoperation 820 a live set of EMG signals are received identifyingmuscular contractions of a user trying to set a posture of a prostheticdevice. The EMG signals represent the contractions of the musculature ofthe individual and accordingly, their intent to set the posture of theprosthetic device.

Tuning operation 830 adjusts the EMG signals according to the currentpoint in the posture space. These adjustments may be based on thebaseline measurements recorded in measurement operation 810. Thedynamically tuned EMG signals may then be mapped to a point in theposture space using mapping operation 840. This information can be fedback to tuning operation 830. The dynamic tuning algorithm is spatiallydependent. When the point in the posture space crosses a certain spatialthreshold the EMG gains may be adjusted in real time. Therefore, thepoint in the posture space must be feedback to the dynamic tuning blockin order to adjust the EMG gains appropriately.

Determination operation 850 uses this point in the posture space todetermine a joint angle vector (e.g., by applying a joint angletransform to the point) for the prosthetic device. The joint anglevector specifies the positions of the joints of the prosthetic device.Once the joint angle vector has been determined, control operation 860generates the control signals to move the prosthetic device into thedesired posture defined by the joint angle vector. In accordance withvarious embodiments, the control signals generated by control operation860 may be based on the desired joint angle vector and measured (orestimated) states of the prosthetic device.

FIG. 9 is a sequence diagram illustrating a set of communicationsbetween various components of a prosthetic device in accordance withvarious embodiments of the present invention. As illustrated in FIG. 9,an EMG array measures contractions of muscles from a user. These EMGsignals are processed by an EMG processor. For example, the EMGprocessor may filter, rectify, average, dynamically tune, etc. the EMGsignals. The processed EMG signals are sent to the control system whichuses a postural control space (i.e., the PC domain) to determine thedesired posture of the prosthetic device. Various sensors can be used todetermine the current posture of the prosthetic device. This informationcan be used by the control system to generate control signals to commandthe actuators of the prosthetic device to set the desired posture.

Various embodiments of the techniques described herein have been testedusing virtual and physical assessment procedures. Three myoelectriccontrol architectures were compared in a study using a physicalassessment (experiment A) and a virtual assessment (experiment B). Theexperimental setup consisted of a three-site EMG acquisition system anda laptop running a custom application (written using LabView, NationalInstruments, Inc.). The latter processed the EMG signals, implementedthe myoelectric control system algorithms (i.e., generated controlcommands as outputs) and stored the data for off-line analysis. Theoutputs of the myoelectric controllers were physically implemented by amultigrasp artificial hand, connected to the laptop (during experimentA) or a virtual hand displayed on the laptop screen (during experimentB).

The EMG signals were acquired using two surface electrodes targeting theflexor digitorum superficialis (F) and extensor digitorum (E) and athird surface electrode targeting extensor carpi ulnaris (U) muscleswhen necessary. Self-adhesive snap electrode pairs with 2 cminter-electrode spacing were used. A Noraxon Telemyo 2400R systemsampled the EMG signals (3 kHz) while a data acquisition board (NI-USB6211) connected to the laptop digitized them. These signals wereprocessed using standard techniques (band pass 10-450 Hz, rectification,moving average) and were used to produce control commands based on thespecific myoelectric control system. Individual EMG gains, thresholds,and offsets could be tuned for each subject.

Each of the three myoelectric control systems had a unique architecturewhile all other parameters including the temporal coordination and theclosing time of the fingers were standardized in order to ensure arobust comparison. In particular, the three myoelectric control systemswere able to map EMG signals into the identical six target postures, andhand flat (Table 2). The six postures comprised functional postures andgrasps used in activities of daily living.

TABLE 2 Target postures included in each myoelectric control systemsTarget Postures Acronym Target Postures Acronym Palmar prehension PPPointer PT Lateral prehension LP Hook HK Tip prehension TP Opposition OPHand flat HFController 1: Commercially Available Finite-State Machine

Controller 1 (C1) replicated the finite state machine implemented in acommercially available device: the iLIMB prosthetic hand (Touch Bionics,ltd. Livingstone, UK). This type of state machine is typical amongavailable commercial prostheses. The architecture consisted of sixstates corresponding to the six target postures, not including HF. Atrigger (T) iteratively changed states in a specified order. The triggerallowed for a progression in the sequence of states in a singledirection. The trigger command occurred when both EMG signals (F, E)supersede a tuned threshold (a brief co-contraction). An audible beepwas provided by the experimental apparatus to indicate that a triggercommand was recognized (like in the iLIMB prosthetic hand). Once insidea state, the magnitude of the difference between F and E wasproportional to the speed of the hand and the sign of the differencecorresponded to the opening/closing of the hand (a velocity controlscheme). The fully closed posture of each state coincided to one of thetarget postures while the fully opened posture coincided to hand flat(HF) (full extension of all digits). Therefore, the only availablepostures within a state were a linear combination of the correspondingtarget posture and HF.

Controller 2: Vanderbilt University Controller

Controller 2 (C2) replicated a Multigrasp Myoelectric Controllerdeveloped at Vanderbilt University. The architecture consisted of twostates (opposition and reposition) with multiple target postures withineach state. The two states were distinguished by the abduction positionof the thumb: opposition and reposition. A co-contraction trigger (T)switched between the two states. The trigger command and the handopening/closing occurred identically to C1. The sequence of postureswithin each state ensured that the digits closed/opened in a coordinatedmanner. The transition logic between postures was not reproduced exactlydue to mechanical constraints of the artificial hand used in the presentstudy. Specifically, the actuator displacement and force thresholds werenot available to use in the transition logic in our study. Instead, thetransitions between the states were solely dependent on the volitionalEMG input signals. The hand posture when transitioning between targetswas a linear combination of the two nearest target postures.

Controller 3: Postural Controller

Controller 3 (C3) was a postural controller based on various embodimentsof the present invention. The architecture used EMG signals like ajoystick to morph the hand posture. As described previously, the EMGsignals are mapped into two control parameters that can be representedby a coordinate in the PC domain. All locations in the PC domaincorresponded to a hand posture. In this work, the three EMG signals weremapped in a radial fashion about the origin of the PC domain. The vectorsummation of the RMS EMG values equaled the coordinate position in thePC domain. A position control scheme was used where quiescent EMGsignals corresponded to the coordinate at the origin. The coordinate,[PC_(X), PC_(Y)], was converted into a joint angle array, e, by a lineartransform, the Joint Angle Transform (JAT, (6)). When the coordinateequaled a target posture position, the myoelectric control systemreproduced the target posture identically. As the coordinate movedbetween two target posture positions, the myoelectric control systemreproduced a linear combination of those two postures. The architecturedid not include discrete states and therefore did not require a triggersignal.

$\begin{matrix}{\theta = {\begin{bmatrix}\theta_{1} \\\vdots \\\theta_{6}\end{bmatrix} = {{JAT}*\begin{bmatrix}{PC}_{x} \\{PC}_{y}\end{bmatrix}}}} & (6)\end{matrix}$

Experimental Methods

Seven able-bodied subjects (aged 26 years±3 years) completed twoexperiments (A and B) using the three myoelectric control systems.Experiment A consisted of the southampton hand assessment procedure(SHAP) using a modified Azzurra IH2 artificial hand (Prensilia Sri,Pisa, Italy) mounted onto a splint. Experiment A tested the ability ofthe subjects to manipulate physical objects. Experiment B insteadconsisted of a virtual hand posture matching task in order to test thefull range of postures for each myoelectric control system. In a single(two hour) experimental session both experiments were performed using asingle controller (either C1, C2, or C3) with experiment A occurringfirst. Three sessions were scheduled on three different days for eachsubject. The order of the controllers tested across the three days wasrandomized across subjects. All subjects claimed to have normalvision/upper limb function and were not practiced at myoelectriccontrol. All subjects conducted the experiment using their left arm tomatch the handedness of the robot hand available.

Experiment A

In experiment A, the subjects performed the SHAP wearing the artificialhand. The hand was mounted on an able-bodied splint which included ahandlebar so that the physiological limb would maintain an anatomicallyneutral position. The SHAP is a standardized hand assessment procedurethat measures the hand function relative to normal able-bodied functionusing 26 activities of daily living tasks which span the functionalgrasps. It was shown to be reliable and was validated so that results ofindependent studies can be compared. As instructed by the SHAP protocol,subjects were asked to complete tasks consisting of the manipulation ofabstract objects (cylinders, spheres, tabs, etc.) and activities ofdaily living (turning a door handle, picking up coins, movingcontainers, lifting a tray, etc.). The 26 tasks were performed asquickly as possible and were self-timed by the subject. The duration ofeach task was used to calculate a SHAP score which described the overallfunction of the subject. Since the SHAP used a time-based protocol, thebest performance equated to the fastest performance across all tasks.

The artificial hand used during the SHAP was a modified IH2 Azzurrahand. The unmodified version of this hand consists of five underactuateddigits (two joints per digit) driven by five motors which actuated theflexion/extension of the thumb, index, middle, ring/little as a pair andthe ab/adduction of the thumb. The hand was modified in order to improvegrasp stability during tip prehension and lateral prehension. Inparticular the thumb and index fingers were splinted so that they becamea single jointed digit about the metacarpophalangeal joint and compliantmaterial was added to the fingertips.

Before the experiment, the EMG control sites were located by palpatingthe forearm and the electrodes were fixed. Then the splint with therobot hand was fitted to the subjects' forearm using adjustable strapsin an anatomically correct position. The EMGs thresholds, offsets, andgains were tuned as the subject suspended the hand and splint in orderto best compensate for the nominal EMG activity due to the weight of thesystem.

During the experiment subjects sat in an upright position in front of atable where the SHAP materials were placed. The subject rehearsed eachSHAP task until he/she was able to reliably perform it as suggested bythe SHAP assessor's manual. The subject performed the task untilsatisfied that the fastest possible time was achieved. Five tasks of theoriginal SHAP were not included in our study (button board, foodcutting, rotate key, zipper, and screwdriver tasks) due to mechanicallimitations of the hand available and were given the maximum time, 100seconds, as prescribed by the SHAP assessor's manual. Subjects wereinstructed to rest between SHAP tasks as needed.

Experiment B

In experiment B, the subjects performed a virtual hand posture matchingtask by controlling the movements of a virtual hand (VH) displayed onthe laptop using the same EMG control sites as in experiment A. Thevirtual hand had the same physical architecture of the IH2 Azzurra handand responded in real-time to the output of the myoelectric controlsystems. During the experiment subjects sat in an upright position infront of the laptop (the splint and the robot hand were not used). Thesubjects were asked to match the posture of the virtual hand to one outof six target postures as quickly as possible. The target posture wasdisplayed as a static image of the virtual hand in the appropriateposition. A successful trial consisted of matching the virtual hand tothe target posture in ten seconds or less (including a one second holdtime) otherwise the trial was considered a failure. The virtual handmatched the target posture when the coordinate was within the 14% radiiof the target position in the PC domain and was indicated by the visualinterface. The experiment consisted of 60 trials (10 attempts at eachtarget posture). The sequence of target postures was randomized acrosssubjects. Before experiment B the EMG acquisition was retuned. Thevirtual hand task tested the ability of each subject to produce thespecified target postures as opposed to the SHAP which required thecompletion of the task and not a specific posture.

Performance Metrics

In experiment A, the SHAP Score (S_(S)) was used as one of theperformance metrics. The S_(S) was designed to measure a subject'sartificial hand function and was derived from the time to complete theSHAP tasks; a score of 100 corresponded to normal, able-bodied handfunction while a score of 0 equated to minimal function. A SHAPDeviation (S_(D)) which is the percent difference from the subjectaverage S_(S) as described by equation (7) where n is the subject and cis the myoelectric control system. Positive S_(D) occurs when the S_(S)for the myoelectric control system is greater than the subject's averageand vice versa.

$\begin{matrix}{S_{D}^{c} = {\frac{\sum\limits_{n = 1}^{7}\;\left( {\frac{S_{S}^{n,c}}{\sum\limits_{c = 1}^{3}\;{S_{S}^{n,c}/3}} - 1} \right)}{7}*100}} & (7)\end{matrix}$

In experiment B, several metrics were used to quantify the performance.The completion rate (CR) is the number of successful trials per totalnumber of trials. The movement time (MT) is the duration of successfultrials in seconds not including the one second hold time. The averageEMG amplitude (EMG AMP) is a measure of effort based on the RMS of theEMG activity from each electrode for each trial and is calculated as thepercent difference from the subject average as sorted by controller (c,(8)) or by controller and target posture (p,(9)). Positive AMP occurswhen the subject produces more EMG activity (i.e.—effort) for acontroller/posture than the subject average and vice versa. EMG AMP wasonly calculated for experiment B since the manipulation tasks inexperiment A caused compensatory EMG activity which were not ofinterest.

$\begin{matrix}{{AMP}_{c} = {\left( {\frac{{RMS}\mspace{14mu}{Average}_{c}}{{Subject}\mspace{14mu}{RMS}\mspace{14mu}{Average}} - 1} \right)*100}} & (8) \\{{AMP}_{c,p} = {\left( {\frac{{RMS}\mspace{14mu}{Average}_{c,p}}{{Subject}\mspace{14mu}{RMS}\mspace{14mu}{Average}} - 1} \right)*100}} & (9)\end{matrix}$

Better performance in experiment B was quantified by higher CR, lowerMT, and lower EMG AMP. One-factor ANOVA's were used throughout andBonferroni post-hoc corrections for multiple comparisons were used whenapplicable with a significance level of 0.05. Experimental resultsreport means±standard error of the mean.

Results—Experiment A

The S_(S)'s for each controller were equal to 38 2.5, 41±1.9, and 45±1.0for C1, C2, and C3 respectively. The S_(S)'s were not significantlydifferent across myoelectric control systems (p=0.08). However, theaverage S_(S) for each subject ranged from 35 to 48 and was found to besignificantly different (p<0.05, not shown). In other words, somesubjects were more proficient at the SHAP than others irrespective ofthe controller. Therefore, the S_(D) was used since it normalized theS_(S) to the subject average. The mean S_(D)'s across subjects wereequal to −8.0%±2.6%, −0.6%±1.6%, and 8.6%±2.2% for C1, C2, and C3respectively. Post-hoc analysis found that the S_(D) for C3 wassignificantly greater than both C1 and C2 (p<0.001, p<0.05) therebysuggesting that on average subjects performed the activities of dailyliving more proficiently using C3 than C1 or C2.

Results—Experiment B

The completion rates equaled to 97%±1.4%, 99%±0.3%, and 86%±2.9% for C1,C2, and C3 respectively. Post-hoc analysis found that the CR for C3 wassignificantly less than both C1 and C2 (p<0.01, p<0.001 respectively).The movement times equaled 3.9 s±0.3 s, 3.3 s±0.2 s, and 2.7 s±0.4 s forC1, C2, and C3 respectively. There was no significant difference betweenthe three controllers (p=0.06), however there was strong trend where theMT decreased from C1 to C2 to C3. The EMG AMP equaled 25%±24%, −1%±26%,and −24%±13% for C1, C2, and C3 respectively. There was no significantdifference between the three controllers (p=0.31), however there was atrend where the EMG AMP decreased from C1 to C2 to C3. To summarize, C3was the least accurate controller in reproducing the six targetpostures, however tended to be the fastest and least effortfulcontroller.

The same results were sorted by target posture in order to analyze theintricacies of the PC architecture used in C3. In C3, the targetpostures that require the activation of a single EMG site (PP, TP, andLP) are considered 1 degree of freedom (DoF) targets. The 2-DoF targetspostures (HK, PT, and OP) are acquired by activating two EMG (i.e.—aco-contraction). All target postures in C1 and C2 are considered 1-DoFsince none require co-contraction. The CR for the 1-DoF trials equaled97%±1.4%, 99%±0.3%, 96%±2.2% for C1, C2, and C3 respectively. There wasno difference in CR between the controllers for the 1-DoF trials(p=0.40). However, the CR for C3 2-DoF trials equaled 78%±4.2% and wassignificantly different (p<0.001) than the 1-DoF trials. In other words,the failed attempts when using C3 occurred almost exclusively when thetarget posture required a co-contraction (a 2-DoF target). The MT forthe 1-DoF trials equaled 3.9 s±0.3 s, 3.3 s±0.2 s, and 1.9 s±0.4 s forC1, C2, and C3 respectively and the MT for the 2-DoF C3 trials equaled3.8 s±0.4 s. The MT for the C3 1-DoF trials was significantly less thanthe MT for the C1, C2, and C3 2-DoF trials (p<0.001). The EMG AMP forthe 1-DoF trials equaled 25%±24%, −1%±26%, and −34%±11% for C1, C2, andC3 respectively, and the EMG AMP for the C3 2-DoF trials equaled−15%±15%. There was no significant difference between EMG AMP for the1-DoF or 2-DoF trials (p=0.24) however there was a trend where the EMGAMP decreased from C1 to C2 to C3 2-DoF trials to C3 1-DoF trials. Ingeneral, the C3 1-DoF trials were equally accurate, faster, and tendedto be less effortful than C1 and C2. On the contrary, the C3 2-DoFtrials were less accurate, equally timely, and were equally effortful asC1 and C2.

Further sorting was performed in order to provide insight into thedifferent EMG AMP required to produce the target postures within eachmyoelectric control system. It is worth recalling that a zero EMG AMPoccurred when the posture required the average EMG activity for thesubject. For C1 the EMG AMP monotonically increases from the initialtarget posture (TP) to the most distant one (OP). This finding islogical since a trigger command is required to sequentially move betweenstates and thereby increases the required effort to reach the moredistant target postures. For C2, the EMG AMP is significantly greater(p<0.001) for target postures in the opposition state (OP, TP, and PP)than for the reposition state (PT, HK, and LP). Since the hand posturein experiment A was initialized to the HF state for all trials andmyoelectric control systems, the opposition state in C2 required anextra trigger command (more EMG activity) to switch from the repositionstate. For C3, the EMG AMP is significantly greater (p<0.001) for the2-DoF target postures (HK, OP, and PT) than for the 1-DoF targetpostures (PP, TP, and LP). This is a logical finding since modulation oftwo control sites (a co-contraction) is a more effortful task. While thecontrollers were equally effortful on average, the effort for eachtarget posture differed significantly within each control architecture.

Discussion

Significantly different results from both the virtual and physicalassessment procedures were found. An asset of the present study was thatit allowed for comparisons between myoelectric control systems due tothe standardized experimental design where the same interface andhardware was used for all conditions.

In experiment A, C3 was shown to be the best performing architecture asdescribed by S_(D). The trigger command used in C1 and C2, but not inC3, inherently retarded the completion of the activity of daily living.Subjects were observed producing the trigger command during the reachingphase of the activity of daily living in order to complete the task asquickly as possible when using C1 and C2. The absence of a triggercommand in C3 proved to be advantageous. This finding supported asimilar study in which pattern recognition (without trigger commands)and state machine myoelectric control systems were compared.Furthermore, the architectures of C1 and C2 required extension EMGactivity in order to release an object whereas C3 required quiescent EMGactivity (i.e.—minimal activity). These traits resulted from thevelocity control scheme in C1 and C2 compared to the position controlscheme in C3. A velocity control scheme deciphered EMG activity as aspeed and direction of hand movement and therefore quiescent EMGactivity equated to no hand movement. EMG activity was necessary toclose and open the hand. A position control scheme deciphered EMGactivity as a position within the architecture. In C3, EMG activity wasonly necessary to close the hand; the hand opened when quiescent EMGactivity was detected. However, the position control scheme in C3required continual EMG activity in order to maintain a grasp. This factcould cause fatigue (although not noticed here) and might need to bemitigated with switches or other logic within C3. In general, the needfor extension activity in order to release an object in C1 and C2 slowedthe completion of the tasks compared to C3.

In experiment B, C3 was the least accurate (lowest CR) controller. Wefound that the dimensionality of the architectures affected the accuratereproduction of target postures. More specifically, the state machinearchitectures used in C1 and C2 restricted the subject to a lineararrangement of states, and therefore the posture matching task onlyrequired the modulation of one EMG signal at a time. The PC architectureused in C3 presented the same postures in a planar, two-dimensionalarrangement. Thereby, half of the target postures required themodulation of one EMG signal (1-DoF) and half required the modulation oftwo EMG signals (2-DoF) in order to reproduce the target posture. Theadded dimension of the PC architecture in C3 (i.e. the need forco-contractions) negatively affected the CR of the myoelectric controlsystem. These results supported our previous findings that described areduction in CR with an increase in dimensionality. These resultsindicate that clinically viable myoelectric control systems should besimple with one EMG signal active at a time.

The MT metric in experiment B described the same trend seen in the S_(S)in experiment A. The movement time tended to decrease from C1 to C2 toC3 which mirrored the S_(S) and S_(D) metrics. Furthermore, the movementtime for the C3-1DoF trials were significantly faster than the othercontrollers. The similar trend between the S_(S) and the movement timemetric was logical since both are time-based metrics. This trendsupported the fact that both the physical and virtual assessmentprotocols limited confounding variables and therefore produced similarresult across assessment techniques.

The EMG AMP metric described the relative effort required for eachcontroller/posture. While the controllers required equal effort onaverage, the effort for each target posture differed significantly andwas dependent on the controller architecture. In general, the sequentialarrangement of states in C1 caused the closer postures to the initialposition to be achieved more easily. Similarly in C2, the postureswithin the initial state (HF state) were achieved more easily than thepostures not in the initial state (OP state). In C3, the EMG AMP metrichighlighted the difficulty of commanding the 2-DoF target posturescompared to the 1-DoF target postures. It should be noted that the EMGAMP metric was biased by experimental design. More specifically, theinitial posture/state within each controller was the same for all trialsin experiment B to ensure a standardized methodology across controllers.The reordering of states within C1 and/or the rearrangement of posturesin the PC domain in C3 would have caused the EMG AMP values to differfor the specific postures. However, we concluded that the generalinsights still hold for all of the controllers; the effort increasedwith the number of trigger commands required in C1 and C2 and the 2-DoFpostures in C3 required more effort than the 1-DoF postures.

The clinical implementation of the three controllers is feasible today.The EMG acquisition and processing was performed using clinicallyavailable hardware and standard processing techniques. Several fivemotor prosthetic hands are available today, and six motor devices arebecoming available. A clinical consideration when implementing thestate-machine architectures (C1 and C2) is the design of the triggersignal. This work implemented the same trigger design for both C1 andC2, however more complex trigger designs including hold open, doubleimpulse, and/or triple impulse are clinically available. In general, thetrigger design must balance the ease of use for the subject with thereliability of the trigger signal. Subject over-exertion and/or falsetriggers should be minimized in order to maintain a high quality controlinterface when using state-machine architectures. A clinicalconsideration when implementing the PC architecture (C3) is theavailability of three independent surface EMG sites on the residual limbof persons with transradial amputation. Three control sites arepreferable to two in order to span the entire PC domain using a radialmapping of EMG signals in the PC domain.

Exemplary Computer System Overview

Embodiments of the present invention include various steps andoperations, which have been described above. A variety of these stepsand operations may be performed by hardware components or may beembodied in machine-executable instructions, which may be used to causea general-purpose or special-purpose processor programmed with theinstructions to perform the steps. Alternatively, the steps may beperformed by a combination of hardware, software, and/or firmware. Assuch, FIG. 10 is an example of a computer system 1000 with whichembodiments of the present invention may be utilized. According to thepresent example, the computer system includes a bus 1010, at least oneprocessor 1020, at least one communication port 1030, a main memory1040, a removable storage media 1050, a read only memory 1060, and amass storage 1070.

Processor(s) 1020 can be any known processor, such as, but not limitedto, Intel® lines of processors; AMD® lines of processors; or Motorola®lines of processors. Communication port(s) 1030 can be any of an RS-232port for use with a modem-based dialup connection, a 10/100 Ethernetport, or a Gigabit port using copper or fiber. Communication port(s)1030 may be chosen depending on a network such as a Local Area Network(LAN), Wide Area Network (WAN), or any network to which the computersystem 1000 connects.

Main memory 1040 can be Random Access Memory (RAM) or any other dynamicstorage device(s) commonly known in the art. Read only memory 1060 canbe any static storage device(s) such as Programmable Read Only Memory(PROM) chips for storing static information such as instructions forprocessor 1020.

Mass storage 1070 can be used to store information and instructions. Forexample, hard disks such as the Adaptec® family of SCSI drives, anoptical disc, an array of disks such as RAID, such as the Adaptec familyof RAID drives, or any other mass storage devices may be used.

Bus 1010 communicatively couples processor(s) 1020 with the othermemory, storage and communication blocks. Bus 1010 can be a PCI/PCI-X orSCSI based system bus depending on the storage devices used.

Removable storage media 1050 can be any kind of external hard-drives,floppy drives, IOMEGA® Zip Drives, Compact Disc-Read Only Memory(CD-ROM), Compact Disc-Re-Writable (CD-RV), and/or Digital VideoDisk-Read Only Memory (DVD-ROM).

The components described above are meant to exemplify some types ofpossibilities. In no way should the aforementioned examples limit thescope of the invention, as they are only exemplary embodiments.

The above Detailed Description of examples of the invention is notintended to be exhaustive or to limit the invention to the precise formdisclosed above. While specific examples for the invention are describedabove for illustrative purposes, various equivalent modifications arepossible within the scope of the invention, as those skilled in therelevant art will recognize. For example, while processes or blocks arepresented in a given order, alternative implementations may performroutines having steps, or employ systems having blocks, in a differentorder, and some processes or blocks may be deleted, moved, added,subdivided, combined, and/or modified to provide alternative orsubcombinations. Each of these processes or blocks may be implemented ina variety of different ways. Also, while processes or blocks are attimes shown as being performed in series, these processes or blocks mayinstead be performed or implemented in parallel, or may be performed atdifferent times. Further any specific numbers noted herein are onlyexamples: alternative implementations may employ differing values orranges.

The teachings of the invention provided herein can be applied to othersystems, not necessarily the system described above. The elements andacts of the various examples described above can be combined to providefurther implementations of the invention. Some alternativeimplementations of the invention may include not only additionalelements to those implementations noted above, but also may includefewer elements.

These and other changes can be made to the invention in light of theabove Detailed Description. While the above description describescertain examples of the invention, and describes the best modecontemplated, no matter how detailed the above appears in text, theinvention can be practiced in many ways. Details of the system may varyconsiderably in its specific implementation, while still beingencompassed by the invention disclosed herein. As noted above,particular terminology used when describing certain features or aspectsof the invention should not be taken to imply that the terminology isbeing redefined herein to be restricted to any specific characteristics,features, or aspects of the invention with which that terminology isassociated. In general, the terms used in the following claims shouldnot be construed to limit the invention to the specific examplesdisclosed in the specification, unless the above Detailed Descriptionsection explicitly defines such terms. Accordingly, the actual scope ofthe invention encompasses not only the disclosed examples, but also allequivalent ways of practicing or implementing the invention under theclaims.

To reduce the number of claims, certain aspects of the invention arepresented below in certain claim forms, but the applicant contemplatesthe various aspects of the invention in any number of claim forms. Forexample, while only one aspect of the invention is recited as acomputer-readable medium claim, other aspects may likewise be embodiedas a computer-readable medium claim, or in other forms, such as beingembodied in a means-plus-function claim (any claims intended to betreated under 35 U.S.C. § 112(f) will begin with the words “means for”,but use of the term “for” in any other context is not intended to invoketreatment under 35 U.S.C. § 112(f)). Accordingly, the applicant reservesthe right to pursue additional claims after filing this application topursue such additional claim forms, in either this application or in acontinuing application.

What is claimed is:
 1. A postural controller for dynamically creatingcustom positions of a prosthetic device based on muscular contractionsof a user, the postural controller comprising: a processor; and a memoryhaving stored thereon a postural control space having a set ofpre-selected postures representative of pre-defined joint angles of theprosthetic device, wherein: each pre-selected posture in the set ofpre-selected postures is located at a different position than any otherpre-selected posture within the postural control space, the prostheticdevice includes a prosthetic joint or a robotic joint, and the set ofpre-selected postures within the postural control space includes: (i)rotation, and (ii) at least one of flexion and extension, the memoryalso having stored thereon instructions that when executed by theprocessor cause the postural controller to: receive processed signalsrepresenting muscular contractions of the user of the prosthetic device;map the processed signals to a point in the postural control space usingthe processor, wherein: the processed signals are mapped to the point inthe postural control space based, at least in part, on a time-varyingresultant vector of the processed signals, the point in the posturalcontrol space lies between two of the pre-selected postures indicating ablended posture desired by the user while the processed signals aremapped, and the blended posture is a custom combination based onproximity of the point to the two pre-selected postures the point liesbetween; and transform the point in the postural control space into aset of desired joint angles by morphing the joint angles of the two ofthe pre-selected postures that the point lies between in the posturalcontrol space.
 2. The postural controller of claim 1, wherein theprosthetic joint or the robotic joint is: a wrist joint, a shoulderjoint, an elbow joint, or an ankle joint.
 3. The postural controller ofclaim 1, wherein: the postural control space includes attractive regionsaround the pre-selected postures; and when executed by the processor,the instructions further cause the postural controller to: determinewhether the point lies within the attractive regions; and upon detectionthat the point lies within a first attractive region of the attractiveregions, select the set of multiple joint angles as the pre-selectedposture surrounded by the first attractive region without continuedmuscular contractions from the user.
 4. The postural controller of claim1, further comprising: means for monitoring muscular contractions andgenerating signals representing muscular contractions of the user of theprosthetic device; means for generating the processed signals byremoving noise from the signals; and means for dynamically tuning theprocessed signals based on an orientation of the prosthetic device.
 5. Apostural controller for dynamically creating custom positions of aprosthetic device based on muscular contractions of a user, the posturalcontroller comprising: a processor; and a memory having stored thereon apostural control space having a set of pre-selected posturesrepresentative of pre-defined joint angles of the prosthetic device,wherein: each pre-selected posture in the set of pre-selected posturesis located at a different position than any other pre-selected posturewithin the postural control space, the prosthetic device includes aprosthetic wrist or a robotic wrist, and the set of pre-selectedpostures within the postural control space includes: (i) rotation, and(ii) at least one of flexion and extension, the memory also havingstored thereon instructions that when executed by the processor causethe postural controller to: receive processed signals representingmuscular contractions of the user of the prosthetic device; and map theprocessed signals to a point in the postural control space using theprocessor, wherein: the processed signals are mapped to the point in thepostural control space based, at least in part, on a time-varyingresultant vector of the processed signals, the point in the posturalcontrol space lies between two of the pre-selected postures indicating ablended posture desired by the user while the processed signals aremapped, and the blended posture is a custom combination based onproximity of the point to the two pre-selected postures the point liesbetween; and transform the point in the postural control space into aset of desired joint angles by morphing the joint angles of the two ofthe pre-selected postures that the point lies between in the posturalcontrol space.
 6. The postural controller of claim 5, wherein thepostural controller is communicably coupled to a feedback controller forpositioning the prosthetic wrist or the robotic wrist into the blendedposture desired by the user.
 7. The postural controller of claim 5,wherein: the postural control space includes attractive regions aroundthe pre-selected postures; and when executed by the processor, theinstructions further cause the postural controller to: determine whetherthe point lies within the attractive regions: and upon detection thatthe point lies within a first attractive region of the attractiveregions, select the set of multiple joint angles as the pre-selectedposture surrounded by the first attractive region without continuedmuscular contractions from the user.
 8. The postural controller of claim5, wherein when executed by the processor, the instructions furthercause the postural controller to: measure baseline signals from muscularcontractions performed in different orientations of the prostheticdevice; receive a live set of signals representing the muscularcontractions; and generate the processed signals by filtering, ordynamically tuning, the live set of signals in view of the baselinesignals.
 9. The postural controller of claim 5, wherein when executed bythe processor, the instructions further cause the postural controller tocommunicate with a feedback controller to: generate control signals tocause a set of actuators to set the joint angles of the prostheticdevice to the set of desired joint angles so that the blended posture iscreated by the prosthetic device as long as the processed signals map tothe point in the postural control space; and as the point in thepostural control space moves to a new location in the postural controlspace, recompute the blended posture to identify an updated blendedposture corresponding to an updated blended set of multiple joint anglesbased on the new location of the point in the postural control space.10. The postural controller of claim 5, further comprising a conversionmodule configured to use a vector summation algorithm to map theprocessed signals to the point in the postural control space bycomputing directional vectors from the processed signals based onpositions of electrodes on a limb of a patient.
 11. The posturalcontroller of claim 10, wherein the electrodes include a first set ofelectrodes on a dorsal side of the limb corresponding to an x-axis inthe postural control space and a second set of electrodes on a medialside of the limb corresponding to a y-axis of the postural controlspace.
 12. The postural controller of claim 5, further comprising: meansfor monitoring muscular contractions and generating signals representingmuscular contractions of the user of the prosthetic device; means forgenerating the processed signals by removing noise from the signals; andmeans for dynamically tuning the processed signals based on anorientation of the prosthetic device.
 13. A postural controller fordynamically creating custom positions of a prosthetic device based onmuscular contractions of a user, the postural controller comprising: aprocessor; and a memory having stored thereon a postural control spacehaving a set of pre-selected postures representative of pre-definedjoint angles of the prosthetic device, wherein: each pre-selectedposture in the set of pre-selected postures is located at a differentposition than any other pre-selected posture within the postural controlspace, the prosthetic device includes a prosthetic ankle or a roboticankle, and the set of pre-selected postures within the postural controlspace includes: (i) rotation, and (ii) at least one of flexion andextension, the memory also having stored thereon instructions that whenexecuted by the processor cause the postural controller to: receiveprocessed signals representing muscular contractions of the user of theprosthetic device; map the processed signals to a point in the posturalcontrol space using the processor, wherein: the processed signals aremapped to the point in the postural control space based, at least inpart, on a time-varying resultant vector of the processed signals, thepoint in the postural control space lies between two of the pre-selectedpostures indicating a blended posture desired by the user while theprocessed signals are mapped, and the blended posture is a customcombination based on proximity of the point to the two pre-selectedpostures the point lies between; and transform the point in the posturalcontrol space into a set of desired joint angles by morphing the jointangles of the two of the pre-selected postures that the point liesbetween in the postural control space.
 14. The postural controller ofclaim 13, wherein the postural controller is communicably coupled to afeedback controller for positioning the prosthetic ankle or the roboticankle into the blended posture desired by the user.
 15. The posturalcontroller of claim 13, wherein: the postural control space includesattractive regions around the pre-selected postures; and when executedby the processor, the instructions further cause the postural controllerto: determine whether the point lies within the attractive regions: andupon detection that the point lies within a first attractive region ofthe attractive regions, select the set of multiple joint angles as thepre-selected posture surrounded by the first attractive region withoutcontinued muscular contractions from the user.
 16. The posturalcontroller of claim 13, wherein when executed by the processor, theinstructions further cause the postural controller to: measure baselinesignals from muscular contractions performed in different orientationsof the prosthetic device; receive a live set of signals representing themuscular contractions; and generate the processed signals by filtering,or dynamically tuning, the live set of signals in view of the baselinesignals.
 17. The postural controller of claim 13, wherein when executedby the processor, the instructions further cause the postural controllerto communicate with a feedback controller to: generate control signalsto cause a set of actuators to set the joint angles of the prostheticdevice to the set of desired joint angles so that the blended posture iscreated by the prosthetic device as long as the processed signals map tothe point in the postural control space; and as the point in thepostural control space moves to a new location in the postural controlspace, recompute the blended posture to identify an updated blendedposture corresponding to an updated blended set of multiple joint anglesbased on the new location of the point in the postural control space.18. The postural controller of claim 13, further comprising a conversionmodule configured to use a vector summation algorithm to map theprocessed signals to the point in the postural control space bycomputing directional vectors from the processed signals based onpositions of electrodes on a limb of a patient.
 19. The posturalcontroller of claim 18, wherein the electrodes include a first set ofelectrodes on a dorsal side of the limb corresponding to an x-axis inthe postural control space and a second set of electrodes on a medialside of the limb corresponding to a y-axis of the postural controlspace.
 20. The postural controller of claim 13, further comprising:means for monitoring muscular contractions and generating signalsrepresenting muscular contractions of the user of the prosthetic device;means for generating the processed signals by removing noise from thesignals; and means for dynamically tuning the processed signals based onan orientation of the prosthetic device.